<template>
  <h1>用户登录</h1>
  <van-form @submit="onSubmit">
    <van-cell-group inset>
      <van-field
        v-model="form.userName"
        name="用户名"
        label="用户名"
        placeholder="用户名"
        :rules="[{ required: true, message: '请输入用户名' }]"
      />
      <van-field
        v-model="form.passWord"
        name="密码"
        label="密码"
        placeholder="密码"
        :rules="[{ required: true, message: '请输入密码' }]"
        type="password"
      />
    </van-cell-group>
    <div class="btn">
      <van-button type="primary" round block native-type="submit"
        >提交</van-button
      >
    </div>
  </van-form>
</template>

<script setup>
import { reactive, getCurrentInstance } from "vue";
import { useRouter } from "vue-router"; // 导入路由对象，用于跳转页面

const router = useRouter(); // 初始化路由对象
const { proxy } = getCurrentInstance(); // 拿到当前实例的proxy对象，用于调用方法
// 表单数据
const form = reactive({
  userName: "",
  passWord: "",
});
// 表单提交
const onSubmit = async () => {
  const { data } = await proxy.$api.login(form);
  console.log(data);
  if (data.code === 10000) {
    localStorage.setItem("h5_token", data.data.token); // 存储token
    localStorage.setItem("h5_userInfo", JSON.stringify(data.data.userInfo));
    router.push("/home"); // 跳转到首页
  }
};
</script>

<style scoped lang="less">
h1 {
  text-align: center;
}
.btn {
  margin: 16px;
}
</style>
